import sys
import os
import urllib2

__version__ = "0.1"

def downloadfile(file_to_download, url, path):
	try:
		u = urllib2.urlopen(url+file_to_download)
	except URLError:
		sys.stdout.write("\033[31;1mImpossibile raggiungere l'indirizzo %s. Probabilmente il server non e'"
				   "in linea, oppure la tua connessione non e' attiva.\033[0m\n", url)
		sys.exit()
	file = open(file_to_download, 'w')
	file.write(u.read())
	file.close()
		


if __name__ == "__main__":
	
	def usage():
		sys.stdout.write("""Utilizzo:\n
  python %s [directory] [--install, -i | --remove, -r]
			   
\033[34;1mAttenzione: Per ora la directory in cui scaricare i file
va specificata, i file verranno salvati (o rimossi in caso
siano gia' presenti) nella cartella passata come argomento.\033[0m\n""" % sys.argv[0])
	
	if len(sys.argv) < 2:
		usage()
		sys.exit()
		
	if sys.argv[1][-1:] != '/':
		sys.argv[1]+='/'
	path_f = sys.argv[1] + "dev-zephyros/"
	
	if sys.argv[2] in ("--install", "-i"):
		print "Creo la cartella dev-zephyros..."
		os.mkdir("dev-zephyros")
		print "Mi sposto in dev-zephyros..."
		os.chdir("dev-zephyros")
		print "Scarico i file dai repository online..."
		downloadfile("Makefile","http://zephyr-os.googlecode.com/hg/dev/",path_f)
		downloadfile("build-chroot.c","http://zephyr-os.googlecode.com/hg/dev/",path_f)
		downloadfile("setdir.c","http://zephyr-os.googlecode.com/hg/dev/",path_f)
		os.mkdir("lib")
		os.chdir("lib")
		downloadfile("color.h","http://zephyr-os.googlecode.com/hg/dev/lib/",path_f)
		os.chdir("../../")
		sys.stdout.write("\033[32;1mTutti i file sono stati scaricati con successo!\033[0m\n")	
	
	elif sys.argv[2] in ("--remove", "-r"):
		print "Mi sposto in dev-zephyros..."
		os.chdir("dev-zephyros")
		print "Rimuovo tutti i file del kit di sviluppo..."
		os.remove("Makefile")
		os.remove("build-chroot.c")
		os.remove("setdir.c")
		os.removedirs("lib")
		print "Mi sposto nella cartella superiore..."
		os.chdir("../")
		print "Rimuovo la cartella dev-zephyros..."
		os.remove("dev-zephyros/")
		sys.stdout.write("\033[32;1mTutti i file sono stati eliminati con successo!\033[0m\n")
	
	elif sys.argv[2] in ("--version", "-v"):
		print __version__
		
	else:
		usage()
		sys.exit()
